package request

import (
	"blog/core/response"
	"blog/core/validate"
	"github.com/gin-gonic/gin"
)

type InterfaceRequest interface {
	GetContext() *gin.Context
	Get(string) string
	GetInt(string) int
	GetIntDefault(string, int) int
	DefaultPostFormInt(string, interface{}) int
	DefaultPostFormInt64(string, interface{}) int64
	ParamString(string) string
	ParamIntDefault(string, int) int
	PostString(string) string
	PostStringDefault(string, string) string
	PostInt(string) int
	PostIntDefault(string, int) int
	InputStr(string) string
	InputInt(string) int
	InputIntDefault(string, int) int
	InputStringDefault(string, string) string
	ParamInt(string) int

	Validate() validate.Validate
	Response() *response.Data
}
